﻿using System;
using System.Collections.Generic;
using System.Text;
using Core.Battle;
using Core.Battle.AbilityBehavior;
using Core.Battle.Effects;

namespace Core
{
   
    public class Abilities
    {
        // Format: 0x00 00 00
        //           A  G  W

        private static Dictionary<uint, AbilityDef> data;

        public static AbilityDef Get(uint index)
        {
            try
            {
                return data[index];
            }
            catch (Exception)
            {
                return null;
            }
        }

        public static void LoadAbilities()
        {
            data = new Dictionary<uint, AbilityDef>();

            {
                AbilityDef restore = new AbilityDef("Soothing Water");
                restore.AddBehavior(new Instant(10, EntityChangeValue.HP));
                data.Add(0b11, restore);
            }

            {
                AbilityDef lash = new AbilityDef("Thorns Lash");
                lash.AddBehavior(new Instant(-10, EntityChangeValue.HP));

                //lash.AddBehavior(new AttachEffect(new ContinuouslyChange("Blooding", -1, EntityChangeValue.HP, true)));
                data.Add(0b011000, lash);
            }
        }
    }
}